[INFO] cloning repository https://github.com/Rittyan/deep_learning_from_scratch_in_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Rittyan/deep_learning_from_scratch_in_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRittyan%2Fdeep_learning_from_scratch_in_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRittyan%2Fdeep_learning_from_scratch_in_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8af2946c91313d258e2152b94ca4a9e3aad0df87
[INFO] checking Rittyan/deep_learning_from_scratch_in_rust against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRittyan%2Fdeep_learning_from_scratch_in_rust" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Rittyan/deep_learning_from_scratch_in_rust on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Rittyan/deep_learning_from_scratch_in_rust
[INFO] finished tweaking git repo https://github.com/Rittyan/deep_learning_from_scratch_in_rust
[INFO] tweaked toml for git repo https://github.com/Rittyan/deep_learning_from_scratch_in_rust written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/Rittyan/deep_learning_from_scratch_in_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9caa26fecdd4795587c01df7208bf79309d2e3c077c46f9eaeb05251cf50653
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b9caa26fecdd4795587c01df7208bf79309d2e3c077c46f9eaeb05251cf50653", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9caa26fecdd4795587c01df7208bf79309d2e3c077c46f9eaeb05251cf50653", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9caa26fecdd4795587c01df7208bf79309d2e3c077c46f9eaeb05251cf50653", kill_on_drop: false }`
[INFO] [stdout] b9caa26fecdd4795587c01df7208bf79309d2e3c077c46f9eaeb05251cf50653
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 8277c34553a386c6e6531411218ae8ceba61042ca51b90e6a1eb0ee1e9b4c8c0
[INFO] running `Command { std: "docker" "start" "-a" "8277c34553a386c6e6531411218ae8ceba61042ca51b90e6a1eb0ee1e9b4c8c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling cc v1.0.54
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]    Compiling syn v1.0.29
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking pin-project-lite v0.1.5
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.29
[INFO] [stderr]     Checking futures-task v0.3.5
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]    Compiling native-tls v0.2.4
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking futures-sink v0.3.5
[INFO] [stderr]     Checking try-lock v0.2.2
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]     Checking openssl-probe v0.1.2
[INFO] [stderr]     Checking tower-service v0.3.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling ndarray v0.13.1
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.23
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking dtoa v0.4.5
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]     Checking base64 v0.12.1
[INFO] [stderr]     Checking futures-channel v0.3.5
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking unicode-normalization v0.1.12
[INFO] [stderr]     Checking matrixmultiply v0.2.3
[INFO] [stderr]     Checking miniz_oxide v0.3.6
[INFO] [stderr]     Checking http v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.17
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling indexmap v1.3.2
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]     Checking socket2 v0.3.12
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]    Compiling openssl-sys v0.9.57
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_pcg v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking url v2.1.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tokio v0.2.21
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-tls v0.3.1
[INFO] [stderr]     Checking serde_urlencoded v0.6.1
[INFO] [stderr]     Checking ndarray-rand v0.11.0
[INFO] [stderr]    Compiling pin-project-internal v0.4.17
[INFO] [stderr]     Checking pin-project v0.4.17
[INFO] [stderr]     Checking futures-util v0.3.5
[INFO] [stderr]     Checking h2 v0.2.5
[INFO] [stderr]     Checking hyper v0.13.6
[INFO] [stderr]     Checking hyper-tls v0.4.1
[INFO] [stderr]     Checking reqwest v0.10.6
[INFO] [stderr]     Checking dl_fr_scratch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use image::GrayImage;
[INFO] [stdout]    |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use image::GrayImage;
[INFO] [stdout]    |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]   --> src/simple_conv_net.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use image::GrayImage;
[INFO] [stdout]    |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]   --> src/simple_conv_net.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use image::GrayImage;
[INFO] [stdout]    |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/auto_encoder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/vae.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/auto_encoder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/gan.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/vae.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `image`
[INFO] [stdout]  --> src/gan.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::GrayImage;
[INFO] [stdout]   |     ^^^^^ use of undeclared type or module `image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/main.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/main.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `col2im`, `img2col`
[INFO] [stdout]   --> src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::utils::{img2col, col2im};
[INFO] [stdout]    |                    ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::layers::DimensionTransLayer4D2D`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::layers::DimensionTransLayer4D2D;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizer::Momentum`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::optimizer::Momentum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/mnist.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `copy`
[INFO] [stdout]  --> src/mnist.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::io::{copy, Write, Read};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/mnist.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::env::current_dir;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/functions.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut r = (y - t);
[INFO] [stdout]    |                     ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/functions.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let res = (r.mapv(|v| v.powf(2.0)));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mnist::mnist::MnistData`
[INFO] [stdout]  --> src/layers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::mnist::mnist::MnistData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/layers.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/layers.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/layers.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error`, `sigmoid`, `softmax`
[INFO] [stdout]  --> src/layers.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/two_layer_net.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/two_layer_net.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `col2im`, `img2col`
[INFO] [stdout]   --> src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::utils::{img2col, col2im};
[INFO] [stdout]    |                    ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::layers::DimensionTransLayer4D2D`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::layers::DimensionTransLayer4D2D;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizer::Momentum`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::optimizer::Momentum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/mnist.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `copy`
[INFO] [stdout]  --> src/mnist.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::io::{copy, Write, Read};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/two_layer_net.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/mnist.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::env::current_dir;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/two_layer_net.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/two_layer_net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/functions.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut r = (y - t);
[INFO] [stdout]    |                     ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/functions.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let res = (r.mapv(|v| v.powf(2.0)));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mnist::mnist::MnistData`
[INFO] [stdout]  --> src/layers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::mnist::mnist::MnistData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/two_layer_net.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/layers.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`
[INFO] [stdout]  --> src/utils.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |                      ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/layers.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/simple_conv_net.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/simple_conv_net.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/simple_conv_net.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/layers.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/simple_conv_net.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/simple_conv_net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error`, `sigmoid`, `softmax`
[INFO] [stdout]  --> src/layers.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/simple_conv_net.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/simple_conv_net.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Instant, Duration};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/simple_conv_net.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let pool_output_size = (filter_num * (conv_output_size / 2) * (conv_output_size / 2));
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/auto_encoder.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/vae.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array2, Array, Array1, Axis};
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/vae.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/vae.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let a = (t.clone() * res);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/gan.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array2, Array, Array1, Axis};
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/gan.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::functions::functions::*`
[INFO] [stdout]  --> src/gan.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::functions::functions::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gan.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         (num as f64 / batch_size as f64)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gan.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let a = (t.clone() * res);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:118:14
[INFO] [stdout]     |
[INFO] [stdout] 118 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 214 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/two_layer_net.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/two_layer_net.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/two_layer_net.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/two_layer_net.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/two_layer_net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/two_layer_net.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`
[INFO] [stdout]  --> src/utils.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |                      ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::Uniform`
[INFO] [stdout]  --> src/simple_conv_net.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray_rand::rand_distr::Uniform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_rand::rand_distr::StandardNormal`
[INFO] [stdout]  --> src/simple_conv_net.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray_rand::rand_distr::StandardNormal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `RawDataClone`, `RawData`, `stack`
[INFO] [stdout]  --> src/simple_conv_net.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{stack, Data, RawData, RawDataClone};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross_entropy_error_batch`, `cross_entropy_error`, `sigmoid`, `softmax2d`, `softmax`
[INFO] [stdout]  --> src/simple_conv_net.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::functions::functions::{sigmoid, softmax, cross_entropy_error, cross_entropy_error_batch, softmax2d};
[INFO] [stdout]   |                                   ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/simple_conv_net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/simple_conv_net.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/simple_conv_net.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Instant, Duration};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/simple_conv_net.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let pool_output_size = (filter_num * (conv_output_size / 2) * (conv_output_size / 2));
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/auto_encoder.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/vae.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array2, Array, Array1, Axis};
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/vae.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/vae.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let a = (t.clone() * res);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/gan.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array2, Array, Array1, Axis};
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Momentum`, `SGD`
[INFO] [stdout]  --> src/gan.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::optimizer::{Momentum, SGD, AdaGrad};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::functions::functions::*`
[INFO] [stdout]  --> src/gan.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::functions::functions::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gan.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         (num as f64 / batch_size as f64)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gan.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let a = (t.clone() * res);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:118:14
[INFO] [stdout]     |
[INFO] [stdout] 118 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 214 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 265 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:317:55
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let f_images = network.generate_images(noise);;
[INFO] [stdout]     |                                                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 265 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/main.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |     for i in (0..iters_num) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:317:55
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let f_images = network.generate_images(noise);;
[INFO] [stdout]     |                                                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mnist.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut path = std::env::current_dir().unwrap().join("data/").join(file_name);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mnist.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut path = std::env::current_dir().unwrap().join("data/").join(file_name);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dl_fr_scratch`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 6 previous errors; 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "8277c34553a386c6e6531411218ae8ceba61042ca51b90e6a1eb0ee1e9b4c8c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8277c34553a386c6e6531411218ae8ceba61042ca51b90e6a1eb0ee1e9b4c8c0", kill_on_drop: false }`
[INFO] [stdout] 8277c34553a386c6e6531411218ae8ceba61042ca51b90e6a1eb0ee1e9b4c8c0
